package request

// MjImageReq 创建一个绘画任务请求
type MjImageReq struct {
	TaskType  string   `json:"task_type"`  // 任务类型
	ClientId  string   `json:"client_id"`  // 客户端Id
	Prompt    string   `json:"prompt"`     // 提示词
	NegPrompt string   `json:"neg_prompt"` // 反向提示词
	Rate      string   `json:"rate"`       // 设定图片宽高比为3:4
	Model     string   `json:"model"`      // 模型
	Chaos     int      `json:"chaos"`      // 创意度取值范围：0-100
	Raw       bool     `json:"raw"`        // 是否开启原始模式
	Seed      int64    `json:"seed"`       // 种子，用于生成相似结果例如输入：--seed 40836864551
	Stylize   int      `json:"stylize"`    // 风格化：数值越大图片个性化越强，质量越高，越复杂和真实，可在后面输入0-1000之间的数值，例如 --s 750
	ImgArr    []string `json:"img_arr"`    // 任务携带的图片
	Tile      bool     `json:"tile"`       // 重复平铺 	生成无缝贴图
	Quality   float32  `json:"quality"`    // 画质：举例--q 2，设置图片质量，数值越高出图时越慢 (数值0-2，越大品质越高)
	Iw        float32  `json:"iw"`         // 数值0-2，数值越高和垫图越像
	CRef      string   `json:"cref"`       // 生成角色一致的图像
	SRef      string   `json:"sref"`       // 生成风格一致的图像
	Cw        int      `json:"cw"`         // 参考程度
}

// MjCommandReq 发送命令请求
type MjCommandReq struct {
	Index       int    `json:"index"`        // 四宫格图片索引
	ClientId    string `json:"client_id"`    // 客户端Id
	ChannelId   string `json:"channel_id"`   // 渠道ID，用来区分是哪个渠道创建的任务，一个任务的 create 和 action 操作必须要在同一个渠道
	MessageId   string `json:"message_id"`   // MJ 任务Id
	MessageHash string `json:"message_hash"` // MJ 任务 hash
}
